#ifndef __ATOM_TRACE_MATERIAL_H_
#define __ATOM_TRACE_MATERIAL_H_

#include "HitRecord.h"
#include "Scene.h"

namespace AtomTrace
{
	class Ray;
	class Color;
	class Vector3;

	namespace Material
	{
		bool BouncePhoton(Ray & outRay, Color & c, HitRecord & hRec, const Scene & sce, const Color& lInten);
		bool GetNewDir(int illumID, HitRecord & hit, Vector3 & oDir, bool isPhoton);

		inline bool IsPhotonSurface(int illumID);

		// **** Inline functions ********
		bool IsPhotonSurface(int illumID)
		{
			return (illumID != 3 && illumID != 6);
		}
	}
}

#endif //__ATOM_TRACE_MATERIAL_H_
